package movilmax.sia_corp.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import movilmax.sia_corp.model.Listax;
import movilmax.sia_corp.model.Usuario;
import apli.conectar.Conectar;
import basedatos.BaseDatos;
import basedatos.Resultado;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class CargarListaActInvasiones extends ActionSupport{

	private static final long serialVersionUID = 9022598380579915341L;
	
	
	private List<Listax>  zonas;
	private List<Listax> statusI;
	private List<Listax> responsables;
	

	@SuppressWarnings("rawtypes")
	public String cargarZonas( BaseDatos BD){
    	Map session = ActionContext.getContext().getSession();
    	Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
    	zonas=new ArrayList<Listax>();
    	String SQL="SELECT Z.cod, Z.descripcion FROM zonas Z WHERE Z.mostrar='1'  ORDER BY Z.descripcion";
		Resultado RCS=BD.consultar(SQL);
		  if(RCS.RP){
			  do{ 
				  Listax LST=new Listax();
				  LST.setCod(RCS.getCadena("cod"));
				  LST.setDescripcion(RCS.getCadena("descripcion").toUpperCase());
				  zonas.add(LST);
			  }while(RCS.sigItem()); 
		  }
		return SUCCESS;  
	}
	
	
	@SuppressWarnings("rawtypes")
	public String cargarStatusInvaciones( BaseDatos BD){
    	Map session = ActionContext.getContext().getSession();
    	Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
    	statusI=new ArrayList<Listax>();
    	String SQL="SELECT S.cod, S.descripcion FROM status_invasiones S WHERE S.mostrar='1'  ORDER BY S.descripcion";
		Resultado RCS=BD.consultar(SQL);
		  if(RCS.RP){
			  do{ 
				  Listax LST=new Listax();
				  LST.setCod(RCS.getCadena("cod"));
				  LST.setDescripcion(RCS.getCadena("descripcion").toUpperCase());
				  statusI.add(LST);
			  }while(RCS.sigItem()); 
		  }
		return SUCCESS;  
	}
	
	@SuppressWarnings("rawtypes")
	public String cargarResponsable( BaseDatos BD){
    	Map session = ActionContext.getContext().getSession();
    	Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
    	responsables=new ArrayList<Listax>();
    	String SQL="SELECT U.usuario FROM usuarios U, vnt_invasiones V WHERE U.usuario=V.responsable AND U.bloqueado='0' GROUP BY U.usuario  ORDER BY U.descripcion";
		Resultado RCS=BD.consultar(SQL);
		  if(RCS.RP){
			  do{ 
				  Listax LST=new Listax();
				  LST.setCod(RCS.getCadena("usuario"));
				  LST.setDescripcion(RCS.getCadena("usuario").toUpperCase());
				  responsables.add(LST);
			  }while(RCS.sigItem()); 
		  }
		return SUCCESS;  
	}
	
	
	@SuppressWarnings("rawtypes")
	public String getJSON(){
		Map session = ActionContext.getContext().getSession();
    	Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		Conectar BASE=new Conectar();
		if(BASE.getMsg().equals("SI")){
			cargarZonas(BASE.getBaseDatos());
			cargarStatusInvaciones(BASE.getBaseDatos());
			cargarResponsable(BASE.getBaseDatos());
			BASE.getBaseDatos().cerrarConexion();
		  	return SUCCESS;
		}else{
			this.addActionError("No hay conexion al servidor");
			return ERROR;
		}
	}


	public List<Listax> getZonas() {
		return zonas;
	}


	public void setZonas(List<Listax> zonas) {
		this.zonas = zonas;
	}


	public List<Listax> getStatusI() {
		return statusI;
	}


	public void setStatusI(List<Listax> statusI) {
		this.statusI = statusI;
	}


	public List<Listax> getResponsables() {
		return responsables;
	}


	public void setResponsables(List<Listax> responsables) {
		this.responsables = responsables;
	}
	
	
	
	
}
